﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using QuanLyBanHang.QuerySQL;

namespace QuanLyBanHang
{

    public partial class frNhanvien : Office2007Form
    {
        //khai bao
        ClassNV nv = new ClassNV();
        DataTable tb = new DataTable();
        bool ts, ktra;
        string manv;
        public frNhanvien()
        {
            InitializeComponent();
        }

        public void Xulybutton(bool b)
        {
            this.btnthem.Enabled = btnsua.Enabled = b;
            btnLuu.Enabled = btnhuy.Enabled = panel_txt.Enabled = !b;
        }

        //Show
        private void frNhanvien_Load(object sender, EventArgs e)
        {
            Xulybutton(true);
            dtgv_Nhanvien.DataSource = nv.ShowNV();
        }
        private void btnthoat_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void dtgv_Nhanvien_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
        {
            for (int i = 0; i < dtgv_Nhanvien.RowCount; i++)
            {
                dtgv_Nhanvien.Rows[i].Cells[0].Value = i + 1;
            }
        }

        private void dtgv_Nhanvien_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                int dong = e.RowIndex;
                this.txtmanv.Text = manv = dtgv_Nhanvien.Rows[dong].Cells[1].Value.ToString();
                this.txttennv.Text = dtgv_Nhanvien.Rows[dong].Cells[2].Value.ToString();
                this.cbogioitinh.Text = dtgv_Nhanvien.Rows[dong].Cells[3].Value.ToString();
                this.txtdiachi.Text = dtgv_Nhanvien.Rows[dong].Cells[4].Value.ToString();
                this.txtsdt.Text = dtgv_Nhanvien.Rows[dong].Cells[5].Value.ToString();
                this.dtngaysinh.Text = dtgv_Nhanvien.Rows[dong].Cells[6].Value.ToString();
            }
            catch { }
        }

        private void btnthem_Click(object sender, EventArgs e)
        {
            Xulybutton(false);
            txtmanv.Enabled = true;
            ts = true;
            txtmanv.Text = "nv" + (dtgv_Nhanvien.RowCount + 1).ToString();            
            txttennv.Clear();
            cbogioitinh.Text = "";
            dtngaysinh.Text = "";
            txtdiachi.Clear();
            txtsdt.Clear();
        }

        private void txttkmanv_TextChanged(object sender, EventArgs e)
        {
            dtgv_Nhanvien.DataSource = nv.ShowMANV(txttkmanv.Text);
        }

        private void txttktenv_TextChanged(object sender, EventArgs e)
        {
            dtgv_Nhanvien.DataSource = nv.ShowTNV(txttktenv.Text);
        }

        private void btnsua_Click(object sender, EventArgs e)
        {
            ts = false;
            Xulybutton(false);
            txtmanv.Enabled = false;
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (txtmanv.TextLength == 0)
            {
                lbthongbao.Text = "* Hãy nhập vào mã nhân viên...";
                txtmanv.Focus();
            }
            else
            {
                if (txttennv.Text.Equals(""))
                {
                    lbthongbao.Text = "* Hãy nhập vào tên nhân viên...";
                    txttennv.Focus();
                }
                else
                {
                    if (cbogioitinh.Text.Equals(""))
                    {
                        lbthongbao.Text = "* Hãy chọn giới tính...";
                        cbogioitinh.Focus();
                    }
                    else
                    {
                        if (dtngaysinh.Text.Equals(""))
                        {
                            lbthongbao.Text = "* Hãy nhập vào ngày sinh...";
                            dtngaysinh.Focus();
                        }
                        else
                        {
                            if (txtdiachi.Text.Equals(""))
                            {
                                lbthongbao.Text = "* Hãy nhập vào địa chỉ...";
                                txtdiachi.Focus();
                            }
                            else
                            {
                                if (txtsdt.Text.Equals(""))
                                {
                                    lbthongbao.Text = "* Hãy nhập vào số điên thoại...";
                                    txtsdt.Focus();
                                }
                                else
                                {
                                    if (ts)
                                    {
                                        if (!ktra)
                                        {
                                            nv.ThemNV(txtmanv.Text, txttennv.Text, cbogioitinh.Text, txtdiachi.Text, txtsdt.Text, dtngaysinh.Text);
                                            frNhanvien_Load(sender, e);
                                            lbthongbao.Text = "*";
                                            Xulybutton(true);
                                        }
                                        else { MessageBox.Show("Mã nhân viên đã tồn tại !!!"); }
                                    }
                                    else
                                    {
                                        nv.SuaNV(txtmanv.Text, txttennv.Text, cbogioitinh.Text, txtdiachi.Text, txtsdt.Text, dtngaysinh.Text);
                                        frNhanvien_Load(sender, e);
                                        lbthongbao.Text = "*";
                                        Xulybutton(true);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

        private void btnxoa_Click(object sender, EventArgs e)
        {
            if (btnthem.Enabled)
            {
                DialogResult kq = MessageBox.Show("Bạn có chắc muốn xóa thài khoản " + txttennv.Text + "  ? ", "Thông báo", MessageBoxButtons.YesNo);
                if (kq == DialogResult.Yes)
                {

                    nv.XoaNV(manv);
                    frNhanvien_Load(sender, e);
                }
            }
            else
            {
                MessageBox.Show("Hãy thực hiện lưu dữ liệu !!!");
            }
        }

        private void btnhuy_Click(object sender, EventArgs e)
        {
            frNhanvien_Load(sender, e);
            Xulybutton(true);
        }

        private void txtmanv_TextChanged(object sender, EventArgs e)
        {
            ktra = false;
            foreach (DataRow row in nv.ShowNV().Rows)
            {
                if (row["MANV"].ToString().Equals(txtmanv.Text))
                {
                    ktra = true;
                }
            }
        }

        private void txtsdt_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
                e.Handled = true;
        }
    }
}
